home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / COMAL / B-Book Series / (k)b3.d64 / program115 < prev    next >
Text File  |  2007-02-28  |  2KB  |  75 lines

  1. 0010 // PROGRAM 115
  2. 0020 //
  3. 0030 // COMELY KATE
  4. 0040 //
  5. 0050 // TO ILLUSTRATE SIMPLE STOCK MANAGEMENT
  6. 0060 //
  7. 0070 DIM ITEM$ OF 20, REQUIRED$ OF 20, REPLY$ OF 3
  8. 0080 //
  9. 0090 PRINT 
  10. 0100 REPEAT 
  11. 0110 PRINT 
  12. 0120 INPUT "WHICH ITEM DO YOU REQUIRE ": REQUIRED$
  13. 0130 PRINT 
  14. 0140 //
  15. 0150 // SEARCH FOR ITEM
  16. 0160 //
  17. 0170 PROCESSITEM
  18. 0180 //
  19. 0190 PRINT 
  20. 0200 PRINT 
  21. 0210 INPUT "WOULD YOU LIKE ANYTHING ELSE (Y/N) ? ": REPLY$
  22. 0220 UNTIL REPLY$="N"
  23. 0230 END 
  24. 0240 //
  25. 0250 PROC PROCESSITEM 
  26. 0260 FOUND:=FALSE
  27. 0270 SEARCHFILE(FOUND)
  28. 0280 IF NOT FOUND THEN
  29. 0290 PRINT REQUIRED$," IS NOT IN STOCK LIST"
  30. 0300 ELSE 
  31. 0310 PROCESSORDER
  32. 0320 ENDIF 
  33. 0330 ENDPROC PROCESSITEM
  34. 0340 //
  35. 0350 PROC SEARCHFILE(REF FOUND) 
  36. 0360 OPEN FILE 2,"0:STOCKFIL",READ
  37. 0370 WHILE NOT FOUND AND NOT EOF(2) DO
  38. 0380 READ FILE 2: ITEM$,NUMBERINSTOCK,REORDERLEVEL
  39. 0390 IF REQUIRED$=ITEM$ THEN FOUND:=TRUE
  40. 0400 ENDWHILE 
  41. 0410 CLOSE FILE 2
  42. 0420 ENDPROC SEARCHFILE
  43. 0430 //
  44. 0440 PROC PROCESSORDER 
  45. 0450 PRINT 
  46. 0460 RESTOCK:=FALSE
  47. 0470 REPEAT 
  48. 0480 INPUT "HOW MANY BOXES ? ": REQUIRED'
  49. 0490 PRINT 
  50. 0500 PRINT 
  51. 0510 IF REQUIRED'<0 THEN
  52. 0520 PRINT "POSITIVE INTEGER VALUES ONLY"
  53. 0530 ELIF NUMBERINSTOCK=0 THEN
  54. 0540 PRINT "SORRY - THERE ARE NONE LEFT"
  55. 0550 PRINT 
  56. 0560 ELIF REQUIRED'>NUMBERINSTOCK THEN
  57. 0570 PRINT "THERE ARE ONLY ",NUMBERINSTOCK," LEFT"
  58. 0580 PRINT "YOU MAY TAKE ALL OF THEM. THANK YOU."
  59. 0590 NUMBERINSTOCK:=0
  60. 0600 RESTOCK:=TRUE
  61. 0610 ELSE 
  62. 0620 PRINT "YOUR ORDER HAS BEEN PROCESSED."
  63. 0630 PRINT "THANK YOU FOR YOUR CUSTOM"
  64. 0640 REMAINDER:=NUMBERINSTOCK-REQUIRED'
  65. 0650 IF REMAINDER<REORDERLEVEL THEN RESTOCK:=TRUE
  66. 0660 NUMBERINSTOCK:=REMAINDER
  67. 0670 ENDIF 
  68. 0680 UNTIL REQUIRED'>0
  69. 0690 IF RESTOCK THEN
  70. 0700 PRINT 
  71. 0710 PRINT "THE QUANTITY OF ",REQUIRED$," IS NOW ",NUMBERINSTOCK
  72. 0720 PRINT "MORE SHOULD BE ORDERED ***"
  73. 0730 ENDIF 
  74. 0740 ENDPROC PROCESSORDER
  75.